package jsyf.oa.entity.report.visitCustomer;

import com.alibaba.fastjson.JSONObject;
import jsyf.oa.ientity.BaseEntity;

import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author: @张巨波 @zhangjubo
 * @creat: on 2017/11/24.
 * @since: V1.0.0
 * @see jsyf.oa.web
 */
@Entity
@Table(name = "T_WRT_CUSTOMER_VISIT", schema = "oa", catalog = "")
public class WReportCusVisitEntity extends BaseEntity implements Serializable {
    private String id;

    private String customerId;

    private String visitMode;

    private String entourage;

    private String visitContent;

    private String wId;

    private String intentionModel;

    private String buyType;

    private String buyDate;

    private String fundCondition;

    private String otherCondition;

    private String existingDevice;

    private String createUserId;

    private Date createTime;

    private String reportDate;

    private Date arrivalsTime;

    private Date leaveTime;

    private String leaveImg;

    private BigDecimal arrivalsLongitude;

    private BigDecimal arrivalsLatitude;

    private String arrivalsAddress;

    private BigDecimal leaveLongitude;

    private BigDecimal leaveLatitude;

    private String leaveAddress;

    private String tel;
    private String name;
    private String wechat;
    private String entourageId;
    private String companyId;
    private String regionId;
    private String bigRegionId;
    private String sysEntourage;
    private String sysEntourageId;
    private String entourageRegionId;


    public String getwId() {
        return wId;
    }

    public void setwId(String wId) {
        this.wId = wId;
    }

    public String getExistingDevice() {
        return existingDevice;
    }

    public void setExistingDevice(String existingDevice) {
        this.existingDevice = existingDevice;
    }


    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    public String getVisitMode() {
        return visitMode;
    }

    public void setVisitMode(String visitMode) {
        this.visitMode = visitMode;
    }

    public String getEntourage() {
        return entourage;
    }

    public void setEntourage(String entourage) {
        this.entourage = entourage;
    }

    public String getVisitContent() {
        return visitContent;
    }

    public void setVisitContent(String visitContent) {
        this.visitContent = visitContent;
    }

    public String getWId() {
        return wId;
    }

    public void setWId(String wId) {
        this.wId = wId;
    }

    public String getIntentionModel() {
        return intentionModel;
    }

    public void setIntentionModel(String intentionModel) {
        this.intentionModel = intentionModel;
    }

    public String getBuyType() {
        return buyType;
    }

    public void setBuyType(String buyType) {
        this.buyType = buyType;
    }

    public String getBuyDate() {
        return buyDate;
    }

    public void setBuyDate(String buyDate) {
        this.buyDate = buyDate;
    }

    public String getFundCondition() {
        return fundCondition;
    }

    public void setFundCondition(String fundCondition) {
        this.fundCondition = fundCondition;
    }


    public String getOtherCondition() {
        return otherCondition;
    }

    public void setOtherCondition(String otherCondition) {
        this.otherCondition = otherCondition;
    }

    public String getCreateUserId() {
        return createUserId;
    }

    public void setCreateUserId(String createUserId) {
        this.createUserId = createUserId;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getReportDate() {
        return reportDate;
    }

    public void setReportDate(String reportDate) {
        this.reportDate = reportDate;
    }

    public Date getArrivalsTime() {
        return arrivalsTime;
    }

    public void setArrivalsTime(Date arrivalsTime) {
        this.arrivalsTime = arrivalsTime;
    }

    public Date getLeaveTime() {
        return leaveTime;
    }

    public void setLeaveTime(Date leaveTime) {
        this.leaveTime = leaveTime;
    }

    public String getLeaveImg() {
        return leaveImg;
    }

    public void setLeaveImg(String leaveImg) {
        this.leaveImg = leaveImg;
    }

    public BigDecimal getArrivalsLongitude() {
        return arrivalsLongitude;
    }

    public void setArrivalsLongitude(BigDecimal arrivalsLongitude) {
        this.arrivalsLongitude = arrivalsLongitude;
    }

    public BigDecimal getArrivalsLatitude() {
        return arrivalsLatitude;
    }

    public void setArrivalsLatitude(BigDecimal arrivalsLatitude) {
        this.arrivalsLatitude = arrivalsLatitude;
    }

    public String getArrivalsAddress() {
        return arrivalsAddress;
    }

    public void setArrivalsAddress(String arrivalsAddress) {
        this.arrivalsAddress = arrivalsAddress;
    }

    public BigDecimal getLeaveLongitude() {
        return leaveLongitude;
    }

    public void setLeaveLongitude(BigDecimal leaveLongitude) {
        this.leaveLongitude = leaveLongitude;
    }

    public BigDecimal getLeaveLatitude() {
        return leaveLatitude;
    }

    public void setLeaveLatitude(BigDecimal leaveLatitude) {
        this.leaveLatitude = leaveLatitude;
    }

    public String getLeaveAddress() {
        return leaveAddress;
    }

    public void setLeaveAddress(String leaveAddress) {
        this.leaveAddress = leaveAddress;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getWechat() {
        return wechat;
    }

    public void setWechat(String wechat) {
        this.wechat = wechat;
    }

    public String getEntourageId() {
        return entourageId;
    }

    public void setEntourageId(String entourageId) {
        this.entourageId = entourageId;
    }

    public String getCompanyId() {
        return companyId;
    }

    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }

    public String getRegionId() {
        return regionId;
    }

    public void setRegionId(String regionId) {
        this.regionId = regionId;
    }

    public String getBigRegionId() {
        return bigRegionId;
    }

    public void setBigRegionId(String bigRegionId) {
        this.bigRegionId = bigRegionId;
    }

    public String getSysEntourage() {
        return sysEntourage;
    }

    public void setSysEntourage(String sysEntourage) {
        this.sysEntourage = sysEntourage;
    }

    public String getSysEntourageId() {
        return sysEntourageId;
    }

    public void setSysEntourageId(String sysEntourageId) {
        this.sysEntourageId = sysEntourageId;
    }

    public String getEntourageRegionId() {
        return entourageRegionId;
    }

    public void setEntourageRegionId(String entourageRegionId) {
        this.entourageRegionId = entourageRegionId;
    }

    @Override
    public String getViewName() {
        return "V_WRT_CUSTOMER_VISIT";
    }

    @Override
    public String getTableName() {
        return "T_WRT_CUSTOMER_VISIT";
    }

    @Override
    public JSONObject getJSONColumns() {
        JSONObject obj = new JSONObject();
        obj.put("ID", "id");
        obj.put("CUSTOMER_ID", "customerId");
        obj.put("VISIT_MODE", "visitMode");
        obj.put("ENTOURAGE", "entourage");
        obj.put("VISIT_CONTENT", "visitContent");
        obj.put("W_ID", "wId");
        obj.put("INTENTION_MODEL", "intentionModel");
        obj.put("BUY_TYPE", "buyType");
        obj.put("BUY_DATE", "buyDate");
        obj.put("FUND_CONDITION", "fundCondition");

        obj.put("OTHER_CONDITION", "otherCondition");
        obj.put("EXISTING_DEVICE", "existingDevice");

        obj.put("CREATE_USER_ID", "createUserId");
        obj.put("CREATE_TIME", "createTime");
        obj.put("REPORT_DATE", "reportDate");
        /**
         * 2018/1/23 侯太雷  添加电访面访字段
         */
        obj.put("ARRIVALS_TIME", "arrivalsTime");
        obj.put("LEAVE_TIME", "leaveTime");
        obj.put("LEAVE_IMG", "leaveImg");
        obj.put("ARRIVALS_LONGITUDE", "arrivalsLongitude");
        obj.put("ARRIVALS_LATITUDE", "arrivalsLatitude");
        obj.put("ARRIVALS_ADDRESS", "arrivalsAddress");
        obj.put("LEAVE_LONGITUDE", "leaveLongitude");
        obj.put("LEAVE_LATITUDE", "leaveLatitude");
        obj.put("LEAVE_ADDRESS", "leaveAddress");
        obj.put("ENTOURAGE_ID", "entourageId");
        obj.put("COMPANY_ID", "companyId");
        obj.put("REGION_ID", "regionId");
        obj.put("BIG_REGION_ID", "bigRegionId");
        obj.put("SYS_ENTOURAGE", "sysEntourage");
        obj.put("SYS_ENTOURAGE_ID", "sysEntourageId");
        obj.put("ENTOURAGE_REGION_ID", "entourageRegionId");
        return obj;
    }

    @Override
    public JSONObject getJSONObject() {
        JSONObject obj = new JSONObject();
        obj.put("ID", getId());
        obj.put("CUSTOMER_ID", getCustomerId());
        obj.put("VISIT_MODE", getVisitMode());
        obj.put("ENTOURAGE", getEntourage());
        obj.put("VISIT_CONTENT", getVisitContent());
        obj.put("W_ID", getWId());
        obj.put("INTENTION_MODEL", getIntentionModel());
        obj.put("BUY_TYPE", getBuyType());
        obj.put("BUY_DATE", getBuyDate());
        obj.put("FUND_CONDITION", getFundCondition());

        obj.put("OTHER_CONDITION", this.getOtherCondition());
        obj.put("EXISTING_DEVICE", getExistingDevice());

        obj.put("CREATE_USER_ID", getCreateUserId());
        obj.put("CREATE_TIME", getCreateTime());
        obj.put("REPORT_DATE", getReportDate());
        /**
         * 2018/1/23 侯太雷  添加电访面访字段
         */
        obj.put("ARRIVALS_TIME", getArrivalsTime());
        obj.put("LEAVE_TIME", getLeaveTime());
        obj.put("LEAVE_IMG", getLeaveImg());
        obj.put("ARRIVALS_LONGITUDE", getArrivalsLongitude());
        obj.put("ARRIVALS_LATITUDE", getArrivalsLatitude());
        obj.put("ARRIVALS_ADDRESS", getArrivalsAddress());
        obj.put("LEAVE_LONGITUDE", getLeaveLongitude());
        obj.put("LEAVE_LATITUDE", getLeaveLatitude());
        obj.put("LEAVE_ADDRESS", getLeaveAddress());
        obj.put("ENTOURAGE_ID", getEntourageId());
        obj.put("COMPANY_ID", getCompanyId());
        obj.put("REGION_ID", getRegionId());
        obj.put("BIG_REGION_ID", getBigRegionId());
        obj.put("SYS_ENTOURAGE", getSysEntourage());
        obj.put("SYS_ENTOURAGE_ID", getSysEntourageId());
        obj.put("ENTOURAGE_REGION_ID", getEntourageRegionId());
        return obj;
    }

}
